إستخدام األشجار الرباعية و تقسيم المسافة الهرمي

Size: px
Start display at page:

Download "إستخدام األشجار الرباعية و تقسيم المسافة الهرمي"

Transcription

1 إستخدام األشجار الرباعية و تقسيم المسافة الهرمي أ.م مكي ة كاظم حمد كلية العلوم جامعة بغداد م.م مها شاكر إبراهيم

2 الثالث Abstract A quad tree :is a nonlinear data structure in which each internal node has exactly four children without information. The information will be stored only in leaves. Quad trees are most often used to partition a two dimensional space into four equal squares then recursively partition these squares into smaller squares until each square contains a suitably uniform subset of the input. In this research we describe the characteristic of the structure and algorithms to represent bitmap images by subdividing it until each square has the same color value. المستخلص الشجرة الرباعية هي نوع من هياكل البيانات غير الخطية التي تكون العقد الداخلية لها تتكون من أربعة أبناء بدون معلومات. تكون المعلومات مخزونة في األو ارق فقط. تستخدم األشجار الرباعية عادة 093 لتقسيم المساحة الثنائية األبعاد لكل المربعات و تقسيمها الى مربعات أصغر إلى أن المدخالت, الى اربعة مربعات متساوية ثم يستمر التقسيم عن طريق االستدعاء الذاتي يحتوي كل مربع على مجموعة جزئية موحدة من في هذه البحث وصف لخصائص هذا النوع من االشجار والخوارزميات المستخدمة الصور عن طريق تقسيم الصورة إلى مربعات الى ان يحتوي كل مربع منها على نفس القيمة اللونية. لتمثيل Keywords:Quad tree, spatial data structures, image decomposition. 1.Introduction A quad tree is a non linear data structure used to describe a class of hierarchical data structures. The common property is that they are based on the principle of recursive decomposition in which each internal node has up to four children, as in figure (1). Quad trees are most often used to partition a two dimensional space by recursively subdividing it into four quadrants or regions. The regions may be square or rectangular, or may have arbitrary shapes. According to quad tree partitioning scheme a two dimensional space is divided using two orthogonal lines, into four areas. The areas are named: NE (north-east), NW (north-west), SE (south-east), and SW (south-west).this splitting process is recursively applied and a result is arranged in a hierarchical structure.[1][2][3]

3 Quad tree types these are : Figure(1) Quad tree representation There are two common types of the quad tree data structures 2.1 The region quad tree The region quad tree represents a partition of space in two dimensions by decomposing the region into four equal quadrants, sub quadrants, and so on with each leaf node containing data corresponding to a specific sub region. Each node in the tree either has exactly four children, or has no children (a leaf node). Figure (2) represent region quad tree.[1][2] 2.2 The Point quad tree qqqq The point quad tree is an adaptation of a binary tree used to represent two dimensional point data. It shares the features of all quad trees but is a true tree as the center of a subdivision is always on a point, Figure (3) represent point quad

4 tree. The tree shape depends on the order data is processed. It is often very efficient in comparing two dimensional ordered data points, usually operating in O(log n) time.[4][5] Figure (2) region quad tree [5] Figure (3) point quad tree

5 3. Node structure for a quad tree A node of a quad tree is similar to a node of a binary tree, with the major difference being that it has four pointers (one for each quadrant) instead of two ("left" and "right") as in an ordinary binary tree. Also a key is usually decomposed into two parts, referring to x and y coordinates. Therefore a node contains following information: 4 Pointers: quad[ NW ], quad[ NE ], quad[ SW ], and quad[ SE ] point; which in turn contains: key; usually expressed as x, y coordinates. value; for example a name.[2] 4. Searching in quad tree Searching for a record matching point Q in the quad tree is straight forward beginning at the root, we continuously branch to the quadrant that contain Q until our search reach a leaf node. If the root is a leaf, then just check to see if the node's data record matches point Q. if the root is an internal node, proceed to the child that contain the search point. For example, the NW quadrant of figure (4) contains points whose x and y values each fall in the range 0 to 63. The NE quadrant contains points whose x value fall in the range 64 to 127 and whose y value falls in the range 0 to 63. If the roots child is a leaf node then that child is checked to see if Q has been found. If the child is another internal node, The search process continues through the tree until a leaf node is found. If this leaf node stores a record whose position matches Q then the query is successful; otherwise Q is not is not in the tree. [1] 090 الثالث

6 Figure (4) Example of a quad tree. (a) A map of data points with region size ( ). (b) the quad tree for the points in (a). 5. Insertion in quad tree Inserting record P into the quad tree is performed by first locating the leaf node that contains the location of P. if this leaf node is empty, then P is stored at this leaf. If the leaf already contains P (or a record with P's coordinates), then a duplicate record should be reported. If the leaf node already contains another record, then the node must be repeatedly decomposed until the existing record and P fall into different leaf nodes. Figure (4) show an example of such an insertion [5]. 6. Deletion in quad tree Deleting a record P is performed by first locating the node N of the quad tree that contains P, node N is then changed to be empty. The next step is to look at N's three siblings.n and it's siblings must be merged together to form a single node N' if only one point is contained among them. This merging process continues until some level is reached at which at least two points are continued in the sub trees represented by N' and its sibling. For example if point C was deleted from the quad tree in figure (4,b) the resulting node must be merged with its siblings and that larger node again merged with its siblings to restore the quad tree to the decomposition of figure(4,a).

7 7. Quad trees performance There are some advantages that concluded from performing this data structure, these advantages were as follow,[6]: 1) Very efficient in certain spatial analysis functions (e.gnearest neighbor, pointin- polygon search). 2) High compression for relatively homogeneous data. 3) High processing time needed to create and modify the tree. 4) Non significant compression for relatively heterogeneous data. 8. Applications of Quad trees Quadtrees have common uses in the different applications such as [2]: Image representation. Spatial indexing. Efficient collision detection in two dimensions. Storing sparse data, such as a formatting information for a spreadsheet or for some matrix calculations. Solution of multidimensional fields (computational fluid dynamics, electromagnetism). Quad trees are also used in the area of fractal image analysis. 9. Image representation using quad trees This research used Quad trees for binary images representation, such that each node in the quad tree is labeled either B (black), W (white) or G (gray) and the leaf nodes can only be B or W, such that if a quad tree with a depth of n wanted to be used to represent an image consisting of 2n 2n pixels, each leaf must represent a uniform area of the picture. If the picture is black and white, we only need one bit to represent the color in each leaf; for example, 0 could mean black and 1 could mean white.[7] 9.1 Algorithm for construction of a quad tree for an (N N) binary image

8 For image representation using quad trees, we proposed the following algorithm: 1) If the binary images contains only black pixels, label the root node B and quit. 2) Else if the binary image contains only white pixels, label the root node W and quit. 3) Otherwise create four child nodes corresponding to the 4 (N/4 N/4) quadrants of the binary image. 4) For each of the quadrants, recursively repeat steps 1 to 3. (In worst case, recursion ends when each sub-quadrant is a single pixel). [2][8] (a) (b) Figure (5) image representation using quad tree. (a) 8 x 8 pixel image. (b) The quad tree representation of the image in (a). The quadrants are shown in clockwise order from the top-left quadrant,[2] 9.2 Performance Of Quad Tree for Images Representation Quad trees are used extensively in computer graphics; and this because they can be manipulated and accessed much quicker than other models. For that reason, quad trees are very popular in fractal graphics. Recursive images can be implemented easily using quad trees: the root of the quad tree has four children, where one of the children is the actual image and the other three point to the root. The advantages of using quad trees for image representation are:

9 Erasing an image takes only one step. All that is required is to set the root node to neutral. Zooming to a particular quadrant in the tree is a one step operation. To reduce the complexity of the image, it suffices to remove the final level of nodes. Accessing particular regions of the image is a very fast operation. This is useful for updating certain regions of an image, perhaps for an environment with multiple windows. The only disadvantage of quad trees is that they take up a lot of space.if a quad tree is implemented using links, most of the memory will be taken up by the links. Nevertheless, there are ways of compacting quad trees, which is important for transferring data efficiently.[8] 10. Conclusions The quad tree data structure is appropriate to store composite key information, usually spatial data. Most often used to partition a region into 2d space, and this could be done by partitioning space recursively subdividing it into 4 disjoint quadrants. Quad tree implementations vary according to data represented including areas, points, lines (including poly lines /curves). The quad trees are efficient for binary image representation. 11. References 1) [1] Clifford A. Shaffer: A practical introduction to data structures and algorithm analysis,3'rd edition, January ) [2] Wikipedia, the free encyclopedia.mht, quad trees article. 3) [3] vorowiki encyclopedia, article ''quad trees'' 4) [4] Applications of Geometric / Spatial Data structures. 5) [5] Snehal Thakkar and Hanan Samet Spatial Data Structures

10 6) [6] Geographic Database Systems Emmanuel Stefanakis Department 7) [7] lossless compression, CIS 658 Multimedia computing 8) [8] Picture representation using quad trees, McGill University: School of Computer Science. Winter

Image Rotation Using Quad Tree

Image Rotation Using Quad Tree 80 Image Rotation Using Quad Tree Aashish Kumar, Lec. ECE Dept. Swami Vivekanand institute of Engneering & Technology, Ramnagar Banur ABSTRACT This paper presents a data structure based technique of rotating

More information

Organizing Spatial Data

Organizing Spatial Data Organizing Spatial Data Spatial data records include a sense of location as an attribute. Typically location is represented by coordinate data (in 2D or 3D). 1 If we are to search spatial data using the

More information

1. Meshes. D7013E Lecture 14

1. Meshes. D7013E Lecture 14 D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle

More information

Mesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees

Mesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees Lecture 9: Lecture 9: VLSI Design To Lecture 9: Finite Element Method To http://www.antics1.demon.co.uk/finelms.html Lecture 9: To Lecture 9: To component not conforming doesn t respect input not well-shaped

More information

Code Transformation of DF-Expression between Bintree and Quadtree

Code Transformation of DF-Expression between Bintree and Quadtree Code Transformation of DF-Expression between Bintree and Quadtree Chin-Chen Chang*, Chien-Fa Li*, and Yu-Chen Hu** *Department of Computer Science and Information Engineering, National Chung Cheng University

More information

Algorithms for GIS:! Quadtrees

Algorithms for GIS:! Quadtrees Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)

More information

Quadtrees and Meshing

Quadtrees and Meshing Computational Geometry Lecture INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Darren Strash 14.12.2015 Motivation: Meshing PC Board Layouts To simulate the heat produced

More information

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Multidimensional Indexes [14]

Multidimensional Indexes [14] CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting

More information

Module 8: Range-Searching in Dictionaries for Points

Module 8: Range-Searching in Dictionaries for Points Module 8: Range-Searching in Dictionaries for Points CS 240 Data Structures and Data Management T. Biedl K. Lanctot M. Sepehri S. Wild Based on lecture notes by many previous cs240 instructors David R.

More information

Comparison of Compressed Quadtrees and Compressed k-d Tries for Range Search

Comparison of Compressed Quadtrees and Compressed k-d Tries for Range Search Comparison of Compressed Quadtrees and Compressed k-d Tries for Range Search Nathan Scott December 19, 2005 1 Introduction There is an enourmous number of data structures in existence to represent spatial

More information

Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.

Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree. The Lecture Contains: Index structure Binary search tree (BST) B-tree B+-tree Order file:///c /Documents%20and%20Settings/iitkrana1/My%20Documents/Google%20Talk%20Received%20Files/ist_data/lecture13/13_1.htm[6/14/2012

More information

A Tutorial on Spatial Data Handling

A Tutorial on Spatial Data Handling A Tutorial on Spatial Data Handling Rituparna Sinha 1, Sandip Samaddar 1, Debnath Bhattacharyya 2, and Tai-hoon Kim 3 1 Heritage Institute of Technology Kolkata-700107, INDIA rituparna.snh@gmail.com Hannam

More information

UNIVERSITY OF WATERLOO Faculty of Mathematics

UNIVERSITY OF WATERLOO Faculty of Mathematics UNIVERSITY OF WATERLOO Faculty of Mathematics Exploring the application of Space Partitioning Methods on river segments S.S. Papadopulos & Associates Bethesda, MD, US Max Ren 20413992 3A Computer Science/BBA

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes

More information

REGION BASED SEGEMENTATION

REGION BASED SEGEMENTATION REGION BASED SEGEMENTATION The objective of Segmentation is to partition an image into regions. The region-based segmentation techniques find the regions directly. Extract those regions in the image whose

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

Geometric Structures 2. Quadtree, k-d stromy

Geometric Structures 2. Quadtree, k-d stromy Geometric Structures 2. Quadtree, k-d stromy Martin Samuelčík samuelcik@sccg.sk, www.sccg.sk/~samuelcik, I4 Window and Point query From given set of points, find all that are inside of given d-dimensional

More information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

An improvement in the build algorithm for Kd-trees using mathematical mean

An improvement in the build algorithm for Kd-trees using mathematical mean An improvement in the build algorithm for Kd-trees using mathematical mean Priyank Trivedi, Abhinandan Patni, Zeon Trevor Fernando and Tejaswi Agarwal School of Computing Sciences and Engineering, VIT

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

CMSC 754 Computational Geometry 1

CMSC 754 Computational Geometry 1 CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College

More information

Multi-way Search Trees. (Multi-way Search Trees) Data Structures and Programming Spring / 25

Multi-way Search Trees. (Multi-way Search Trees) Data Structures and Programming Spring / 25 Multi-way Search Trees (Multi-way Search Trees) Data Structures and Programming Spring 2017 1 / 25 Multi-way Search Trees Each internal node of a multi-way search tree T: has at least two children contains

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Spatial Data Models. Raster uses individual cells in a matrix, or grid, format to represent real world entities

Spatial Data Models. Raster uses individual cells in a matrix, or grid, format to represent real world entities Spatial Data Models Raster uses individual cells in a matrix, or grid, format to represent real world entities Vector uses coordinates to store the shape of spatial data objects David Tenenbaum GEOG 7

More information

COMP : Trees. COMP20012 Trees 219

COMP : Trees. COMP20012 Trees 219 COMP20012 3: Trees COMP20012 Trees 219 Trees Seen lots of examples. Parse Trees Decision Trees Search Trees Family Trees Hierarchical Structures Management Directories COMP20012 Trees 220 Trees have natural

More information

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Storing data on disk The traditional storage hierarchy for DBMSs is: 1. main memory (primary storage) for data currently

More information

The Unified Segment Tree and its Application to the Rectangle Intersection Problem

The Unified Segment Tree and its Application to the Rectangle Intersection Problem CCCG 2013, Waterloo, Ontario, August 10, 2013 The Unified Segment Tree and its Application to the Rectangle Intersection Problem David P. Wagner Abstract In this paper we introduce a variation on the multidimensional

More information

TREES. Trees - Introduction

TREES. Trees - Introduction TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)

More information

Geometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations

Geometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations Geometric search: overview Geometric Algorithms Types of data:, lines, planes, polygons, circles,... This lecture: sets of N objects. Range searching Quadtrees, 2D trees, kd trees Intersections of geometric

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Lecture 06. Raster and Vector Data Models. Part (1) Common Data Models. Raster. Vector. Points. Points. ( x,y ) Area. Area Line.

Lecture 06. Raster and Vector Data Models. Part (1) Common Data Models. Raster. Vector. Points. Points. ( x,y ) Area. Area Line. Lecture 06 Raster and Vector Data Models Part (1) 1 Common Data Models Vector Raster Y Points Points ( x,y ) Line Area Line Area 2 X 1 3 Raster uses a grid cell structure Vector is more like a drawn map

More information

Advanced Data Types and New Applications

Advanced Data Types and New Applications Advanced Data Types and New Applications These slides are a modified version of the slides of the book Database System Concepts (Chapter 24), 5th Ed., McGraw-Hill, by Silberschatz, Korth and Sudarshan.

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

This research was supported in part by DOE Grant #DE-FG05-88ER25063 and JPL Contract #957721

This research was supported in part by DOE Grant #DE-FG05-88ER25063 and JPL Contract #957721 Q -TREE: A DYNAMIC STRUCTURE FOR ACCESSING SPATIAL OBJECTS WITH ARBITRARY SHAPES Ratko Orlandic John L. Pfaltz IPC-TR-9- December 6, 99 Institute for Parallel Computation School of Engineering and Applied

More information

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration Speeding Up Ray Tracing nthony Steed 1999, eline Loscos 2005, Jan Kautz 2007-2009 Optimisations Limit the number of rays Make the ray test faster for shadow rays the main drain on resources if there are

More information

Advanced Data Types and New Applications

Advanced Data Types and New Applications Advanced Data Types and New Applications These slides are a modified version of the slides of the book Database System Concepts (Chapter 24), 5th Ed., McGraw-Hill, by Silberschatz, Korth and Sudarshan.

More information

CMSC 425: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 26, 2013

CMSC 425: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 26, 2013 CMSC 2: Lecture 10 Geometric Data Structures for Games: Index Structures Tuesday, Feb 2, 201 Reading: Some of today s materials can be found in Foundations of Multidimensional and Metric Data Structures,

More information

(2,4) Trees. 2/22/2006 (2,4) Trees 1

(2,4) Trees. 2/22/2006 (2,4) Trees 1 (2,4) Trees 9 2 5 7 10 14 2/22/2006 (2,4) Trees 1 Outline and Reading Multi-way search tree ( 10.4.1) Definition Search (2,4) tree ( 10.4.2) Definition Search Insertion Deletion Comparison of dictionary

More information

Rate-Distortion Optimized Tree Structured Compression Algorithms for Piecewise Polynomial Images

Rate-Distortion Optimized Tree Structured Compression Algorithms for Piecewise Polynomial Images 1 Rate-Distortion Optimized Tree Structured Compression Algorithms for Piecewise Polynomial Images Rahul Shukla, Pier Luigi Dragotti 1, Minh N. Do and Martin Vetterli Audio-Visual Communications Laboratory,

More information

Trees. Eric McCreath

Trees. Eric McCreath Trees Eric McCreath 2 Overview In this lecture we will explore: general trees, binary trees, binary search trees, and AVL and B-Trees. 3 Trees Trees are recursive data structures. They are useful for:

More information

Red-Black, Splay and Huffman Trees

Red-Black, Splay and Huffman Trees Red-Black, Splay and Huffman Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/22 @ TR-212, NTUST AVL Trees Review Self-balancing binary search tree Balance Factor Every node has a balance factor of 1, 0, or 1 2 Red-Black

More information

A PROBABILISTIC ANALYSIS OF TRIE-BASED SORTING OF LARGE COLLECTIONS OF LINE SEGMENTS IN SPATIAL DATABASES

A PROBABILISTIC ANALYSIS OF TRIE-BASED SORTING OF LARGE COLLECTIONS OF LINE SEGMENTS IN SPATIAL DATABASES SIAM J. COMPUT. Vol. 35, No., pp. 58 c 005 Society for Industrial and Applied Mathematics A PROBABILISTIC ANALYSIS OF TRIE-BASED SORTING OF LARGE COLLECTIONS OF LINE SEGMENTS IN SPATIAL DATABASES MICHAEL

More information

Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b

Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b Advanced Algorithm Design and Analysis (Lecture 12) SW5 fall 2005 Simonas Šaltenis E1-215b simas@cs.aau.dk Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

18 Multidimensional Data Structures 1

18 Multidimensional Data Structures 1 18 Multidimensional Data Structures 1 Hanan Samet University of Maryland 18.1 Introduction 18.2 PointData 18.3 BucketingMethods 18.4 RegionData 18.5 RectangleData 18.6 LineDataandBoundariesofRegions 18.7

More information

Trees. CSE 373 Data Structures

Trees. CSE 373 Data Structures Trees CSE 373 Data Structures Readings Reading Chapter 7 Trees 2 Why Do We Need Trees? Lists, Stacks, and Queues are linear relationships Information often contains hierarchical relationships File directories

More information

CAR-TR-990 CS-TR-4526 UMIACS September 2003

CAR-TR-990 CS-TR-4526 UMIACS September 2003 CAR-TR-990 CS-TR-4526 UMIACS 2003-94 September 2003 Object-based and Image-based Object Representations Hanan Samet Computer Science Department Center for Automation Research Institute for Advanced Computer

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

UNIT IV -NON-LINEAR DATA STRUCTURES 4.1 Trees TREE: A tree is a finite set of one or more nodes such that there is a specially designated node called the Root, and zero or more non empty sub trees T1,

More information

3D Representation and Solid Modeling

3D Representation and Solid Modeling MCS 585/480 Computer Graphics I 3D Representation and Solid Modeling Week 8, Lecture 16 William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

An Optimized Computational Technique for Free Space Localization in 3-D Virtual Representations of Complex Environments

An Optimized Computational Technique for Free Space Localization in 3-D Virtual Representations of Complex Environments VECIMS 2004 - IEEE International Conference on Virtual Environments, Human-Computer Interfaces, and Measurement Systems Boston, MA, USA, 12-14 July 2004 An Optimized Computational Technique for Free Space

More information

SPATIAL RANGE QUERY. Rooma Rathore Graduate Student University of Minnesota

SPATIAL RANGE QUERY. Rooma Rathore Graduate Student University of Minnesota SPATIAL RANGE QUERY Rooma Rathore Graduate Student University of Minnesota SYNONYMS Range Query, Window Query DEFINITION Spatial range queries are queries that inquire about certain spatial objects related

More information

Chapter 25: Spatial and Temporal Data and Mobility

Chapter 25: Spatial and Temporal Data and Mobility Chapter 25: Spatial and Temporal Data and Mobility Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 25: Spatial and Temporal Data and Mobility Temporal Data Spatial

More information

CSE 530A. B+ Trees. Washington University Fall 2013

CSE 530A. B+ Trees. Washington University Fall 2013 CSE 530A B+ Trees Washington University Fall 2013 B Trees A B tree is an ordered (non-binary) tree where the internal nodes can have a varying number of child nodes (within some range) B Trees When a key

More information

(2,4) Trees Goodrich, Tamassia (2,4) Trees 1

(2,4) Trees Goodrich, Tamassia (2,4) Trees 1 (2,4) Trees 9 2 5 7 10 14 2004 Goodrich, Tamassia (2,4) Trees 1 Multi-Way Search Tree A multi-way search tree is an ordered tree such that Each internal node has at least two children and stores d -1 key-element

More information

Uses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010

Uses for Trees About Trees Binary Trees. Trees. Seth Long. January 31, 2010 Uses for About Binary January 31, 2010 Uses for About Binary Uses for Uses for About Basic Idea Implementing Binary Example: Expression Binary Search Uses for Uses for About Binary Uses for Storage Binary

More information

Chapter 8: Data Abstractions

Chapter 8: Data Abstractions Chapter 8: Data Abstractions Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Presentation files modified by Farn Wang Copyright 28 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Digital Image Processing Fundamentals

Digital Image Processing Fundamentals Ioannis Pitas Digital Image Processing Fundamentals Chapter 7 Shape Description Answers to the Chapter Questions Thessaloniki 1998 Chapter 7: Shape description 7.1 Introduction 1. Why is invariance to

More information

Bioinformatics Programming. EE, NCKU Tien-Hao Chang (Darby Chang)

Bioinformatics Programming. EE, NCKU Tien-Hao Chang (Darby Chang) Bioinformatics Programming EE, NCKU Tien-Hao Chang (Darby Chang) 1 Tree 2 A Tree Structure A tree structure means that the data are organized so that items of information are related by branches 3 Definition

More information

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures. Trees Q: Why study trees? : Many advance DTs are implemented using tree-based data structures. Recursive Definition of (Rooted) Tree: Let T be a set with n 0 elements. (i) If n = 0, T is an empty tree,

More information

IMAGE COMPRESSION USING AREA SUB-DIVISION ALGORITHM RELYING ON QUADTREE

IMAGE COMPRESSION USING AREA SUB-DIVISION ALGORITHM RELYING ON QUADTREE Asian Journal Of Computer Science And Information Technology 2: 3 (2012) 19 22. Contents lists available at www.innovativejournal.in Asian Journal of Computer Science and Information Technology Journal

More information

Segmentation of Images

Segmentation of Images Segmentation of Images SEGMENTATION If an image has been preprocessed appropriately to remove noise and artifacts, segmentation is often the key step in interpreting the image. Image segmentation is a

More information

Content-based Image and Video Retrieval. Image Segmentation

Content-based Image and Video Retrieval. Image Segmentation Content-based Image and Video Retrieval Vorlesung, SS 2011 Image Segmentation 2.5.2011 / 9.5.2011 Image Segmentation One of the key problem in computer vision Identification of homogenous region in the

More information

Orthogonal range searching. Orthogonal range search

Orthogonal range searching. Orthogonal range search CG Lecture Orthogonal range searching Orthogonal range search. Problem definition and motiation. Space decomposition: techniques and trade-offs 3. Space decomposition schemes: Grids: uniform, non-hierarchical

More information

Advanced Set Representation Methods

Advanced Set Representation Methods Advanced Set Representation Methods AVL trees. 2-3(-4) Trees. Union-Find Set ADT DSA - lecture 4 - T.U.Cluj-Napoca - M. Joldos 1 Advanced Set Representation. AVL Trees Problem with BSTs: worst case operation

More information

Spatial Data Management

Spatial Data Management Spatial Data Management [R&G] Chapter 28 CS432 1 Types of Spatial Data Point Data Points in a multidimensional space E.g., Raster data such as satellite imagery, where each pixel stores a measured value

More information

Tree-Structured Indexes

Tree-Structured Indexes Tree-Structured Indexes Chapter 10 Comp 521 Files and Databases Fall 2010 1 Introduction As for any index, 3 alternatives for data entries k*: index refers to actual data record with key value k index

More information

A QUAD-TREE DECOMPOSITION APPROACH TO CARTOON IMAGE COMPRESSION. Yi-Chen Tsai, Ming-Sui Lee, Meiyin Shen and C.-C. Jay Kuo

A QUAD-TREE DECOMPOSITION APPROACH TO CARTOON IMAGE COMPRESSION. Yi-Chen Tsai, Ming-Sui Lee, Meiyin Shen and C.-C. Jay Kuo A QUAD-TREE DECOMPOSITION APPROACH TO CARTOON IMAGE COMPRESSION Yi-Chen Tsai, Ming-Sui Lee, Meiyin Shen and C.-C. Jay Kuo Integrated Media Systems Center and Department of Electrical Engineering University

More information

An AVL tree with N nodes is an excellent data. The Big-Oh analysis shows that most operations finish within O(log N) time

An AVL tree with N nodes is an excellent data. The Big-Oh analysis shows that most operations finish within O(log N) time B + -TREES MOTIVATION An AVL tree with N nodes is an excellent data structure for searching, indexing, etc. The Big-Oh analysis shows that most operations finish within O(log N) time The theoretical conclusion

More information

Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

More information

Tree-Structured Indexes

Tree-Structured Indexes Tree-Structured Indexes Chapter 9 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Introduction As for any index, 3 alternatives for data entries k*: Data record with key value k

More information

Spatial Data Management

Spatial Data Management Spatial Data Management Chapter 28 Database management Systems, 3ed, R. Ramakrishnan and J. Gehrke 1 Types of Spatial Data Point Data Points in a multidimensional space E.g., Raster data such as satellite

More information

Data Structures I. C omputer graphics applications require the manipulation. Hierarchical Data Structures. Hanan Samet University of Maryland

Data Structures I. C omputer graphics applications require the manipulation. Hierarchical Data Structures. Hanan Samet University of Maryland Data Structures I Hierarchical Data Structures Hanan Samet University of Maryland Robert E. Webber Rutgers University This is the first part of a two-part overview of the use of hierarchical data structures

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Programming Assignment 1: A Data Structure For VLSI Applications 1

Programming Assignment 1: A Data Structure For VLSI Applications 1 Fall 2016 CMSC 420 Hanan Samet Programming Assignment 1: A Data Structure For VLSI Applications 1 Abstract In this assignment you are required to implement an information management system for handling

More information

Spatial Data Structures for GIS Visualization. Ed Grundy

Spatial Data Structures for GIS Visualization. Ed Grundy Spatial Data Structures for GIS Visualization Ed Grundy GIS Data Elevation maps Satellite imagery (as texture data) Other data we may wish to visualise, such as temperature, population, etc In GIS terms

More information

CISC 235: Topic 4. Balanced Binary Search Trees

CISC 235: Topic 4. Balanced Binary Search Trees CISC 235: Topic 4 Balanced Binary Search Trees Outline Rationale and definitions Rotations AVL Trees, Red-Black, and AA-Trees Algorithms for searching, insertion, and deletion Analysis of complexity CISC

More information

Space-based Partitioning Data Structures and their Algorithms. Jon Leonard

Space-based Partitioning Data Structures and their Algorithms. Jon Leonard Space-based Partitioning Data Structures and their Algorithms Jon Leonard Purpose Space-based Partitioning Data Structures are an efficient way of organizing data that lies in an n-dimensional space 2D,

More information

ij?. Master of Science Mark R. Lattanzi n APPROVED: Ü Dr. James D. Arthur Dr. Lenwood S. Heath

ij?. Master of Science Mark R. Lattanzi n APPROVED: Ü Dr. James D. Arthur Dr. Lenwood S. Heath ij?. TABLE DRIVEN QUADTREE TRAVERSAL ALGORITHMS by Mark R. Lattanzi n Thesis submitted to the Faculty of the ' Virginia Polytechnic Institute and State University for partial fulfillment of the requirements

More information

Cpt S 122 Data Structures. Data Structures Trees

Cpt S 122 Data Structures. Data Structures Trees Cpt S 122 Data Structures Data Structures Trees Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Motivation Trees are one of the most important and extensively

More information

Binary Trees, Binary Search Trees

Binary Trees, Binary Search Trees Binary Trees, Binary Search Trees Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search, insert, delete)

More information

Tree-Structured Indexes

Tree-Structured Indexes Tree-Structured Indexes Yanlei Diao UMass Amherst Slides Courtesy of R. Ramakrishnan and J. Gehrke Access Methods v File of records: Abstraction of disk storage for query processing (1) Sequential scan;

More information

Second degree equations - quadratics. nonparametric: x 2 + y 2 + z 2 = r 2

Second degree equations - quadratics. nonparametric: x 2 + y 2 + z 2 = r 2 walters@buffalo.edu CSE 480/580 Lecture 20 Slide 1 Three Dimensional Representations Quadric Surfaces Superquadrics Sweep Representations Constructive Solid Geometry Octrees Quadric Surfaces Second degree

More information

would be included in is small: to be exact. Thus with probability1, the same partition n+1 n+1 would be produced regardless of whether p is in the inp

would be included in is small: to be exact. Thus with probability1, the same partition n+1 n+1 would be produced regardless of whether p is in the inp 1 Introduction 1.1 Parallel Randomized Algorihtms Using Sampling A fundamental strategy used in designing ecient algorithms is divide-and-conquer, where that input data is partitioned into several subproblems

More information

Topic 5: Raster and Vector Data Models

Topic 5: Raster and Vector Data Models Geography 38/42:286 GIS 1 Topic 5: Raster and Vector Data Models Chapters 3 & 4: Chang (Chapter 4: DeMers) 1 The Nature of Geographic Data Most features or phenomena occur as either: discrete entities

More information

Binary Trees. Height 1

Binary Trees. Height 1 Binary Trees Definitions A tree is a finite set of one or more nodes that shows parent-child relationship such that There is a special node called root Remaining nodes are portioned into subsets T1,T2,T3.

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Course Review for Finals. Cpt S 223 Fall 2008

Course Review for Finals. Cpt S 223 Fall 2008 Course Review for Finals Cpt S 223 Fall 2008 1 Course Overview Introduction to advanced data structures Algorithmic asymptotic analysis Programming data structures Program design based on performance i.e.,

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Trees Sidra Malik sidra.malik@ciitlahore.edu.pk Tree? In computer science, a tree is an abstract model of a hierarchical structure A tree is a finite set of one or more nodes

More information

1 The range query problem

1 The range query problem CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition

More information

( ) ( ) C. " 1 n. ( ) $ f n. ( ) B. " log( n! ) ( ) and that you already know ( ) ( ) " % g( n) ( ) " #&

( ) ( ) C.  1 n. ( ) $ f n. ( ) B.  log( n! ) ( ) and that you already know ( ) ( )  % g( n) ( )  #& CSE 0 Name Test Summer 008 Last 4 Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time for the following code is in which set? for (i=0; i

More information

2-3 Tree. Outline B-TREE. catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } ADD SLIDES ON DISJOINT SETS

2-3 Tree. Outline B-TREE. catch(...){ printf( Assignment::SolveProblem() AAAA!); } ADD SLIDES ON DISJOINT SETS Outline catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } Balanced Search Trees 2-3 Trees 2-3-4 Trees Slide 4 Why care about advanced implementations? Same entries, different insertion sequence:

More information

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 3, MARCH

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 3, MARCH IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 14, NO. 3, MARCH 2005 343 Rate-Distortion Optimized Tree-Structured Compression Algorithms for Piecewise Polynomial Images Rahul Shukla, Member, IEEE, Pier Luigi

More information